
package dao;

import dao.Conexao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import modelo.Suspeito;

/**
 *
 * @author marcieli
 */
public class SuspeitoDAO {

    public Boolean Excluir(Suspeito obj) {
Boolean retorno = false;
        String sql = "DELETE FROM suspeito WHERE suspeitoid = ?";
        PreparedStatement pst = Conexao.getPreparedStatement(sql);
        try {

                 pst.setInt(1, obj.getCodigo());
           
            
            Integer resultado = pst.executeUpdate();
            
            if(resultado > 0){ //executa o DELETE
                retorno=true;
                    JOptionPane.showMessageDialog(null, "Excluído com sucesso!");
                
            } else {
                retorno = false;
                JOptionPane.showMessageDialog(null, "Não excluido");
            }

        } catch (SQLException ex) {
            System.out.println("ERROR" + ex.getMessage());
        }
        return retorno;
    }


    public List<Suspeito> Listar() {
        List<Suspeito> lista = new ArrayList<>();

        String sql = "SELECT * FROM suspeito";
//prepara o sql para execução
        PreparedStatement pst = Conexao.getPreparedStatement(sql);
        ResultSet resultado;
        try {
            resultado = pst.executeQuery();

            while (resultado.next()) {
                Suspeito suspeito = new Suspeito();
                suspeito.setCodigo(resultado.getInt("suspeitoid"));
                suspeito.setNome(resultado.getString("suspeitonome"));
                suspeito.setSexo(resultado.getString("suspeitosexo"));
                suspeito.setOcupacao(resultado.getString("suspeitoocupacao"));
                suspeito.setEsporte(resultado.getString("suspeitoesporte"));
                suspeito.setCabelo(resultado.getString("suspeitocabelo"));
                suspeito.setCarro(resultado.getString("suspeitocarro"));
                suspeito.setTracos(resultado.getString("suspeitotracos"));
                suspeito.setOutros(resultado.getString("suspeitooutros"));
                lista.add(suspeito);
            }
        } catch (SQLException ex) {
            lista = null;
        }
        return lista;

    }

    public Boolean Cadastrar(Suspeito suspeito) {
        boolean retorno = true;
        String sql = "INSERT INTO suspeito" + "(suspeitonome,suspeitoocupacao,suspeitosexo,suspeitoesporte,suspeitocabelo,suspeitocarro,suspeitotracos,suspeitooutros) VALUES (?,?,?,?,?,?,?,?)";

        PreparedStatement pst = Conexao.getPreparedStatement(sql);
        try {
            pst.setString(1, suspeito.getNome());
            pst.setString(2, suspeito.getOcupacao());
            pst.setString(3, suspeito.getSexo());
            pst.setString(4, suspeito.getEsporte());
            pst.setString(5, suspeito.getCabelo());
            pst.setString(6, suspeito.getCarro());
            pst.setString(7, suspeito.getTracos());
            pst.setString(8, suspeito.getOutros());
            Integer resultado = pst.executeUpdate();
            if (resultado > 0) {
                retorno = true;
            } else {
                retorno = false;
            }

        } catch (SQLException ex) {
            System.out.println("ERROR" + ex.getMessage());
            retorno = false;
        }
        return retorno;

    }
}
